#ifndef FUNCTIONPARSER_H_INCLUDED
#define FUNCTIONPARSER_H_INCLUDED

// O seguinte define avisa ao código gerado pelo Yacc que
// ele deve desalocar sua pilha interna ao final da execução:
#define YY_NO_LEAKS

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h> //"strlen()"
#include <ctype.h>  //"isupper()", "islower()" e "isdigit()"
#include "../defines/debugs.h"
#include "../defines/erros.h"
#include "../defines/definicoes.h"
#include "../linkedlist.h"
#include "../functionlist.h"

typedef struct funnome_dados_
{
    funtipo tipo;
    union
    {
        char *nome;
        struct
        {
            char         *nome;
            unsigned int i;
            unsigned int n;
        } projecao;
    };
} funnome_dados;

NOfundef* analisar(const char *s);

#endif // FUNCTIONPARSER_H_INCLUDED
